The cloud computing environment is an enhancement to the predecessor grid environment, whereby multiple grids and other computation resources may be further abstracted by a cloud layer, thus making disparate devices appear to an end-consumer as a single pool of seamless resources. These resources may include such things as physical or logical compute engines, servers and devices, device memory, storage devices, etc.
Current cloud management systems use a centralized approach for controlling cloud resources (e.g., servers, virtual machines, storage devices, networking resources, etc.). Specifically, existing approaches store data about cloud hardware, software, etc. in a centralized data store and perform management actions from a centralized management system. This approach can result in: scaling issues when processing many concurrent requests; difficulties in keeping information about the environment consistent; and/or a single point of failure for cloud management requests.